#!/usr/bin/env python
# -*- coding:utf-8 -*-


import logging
from api.getpath import GetTestLogPath


class LogSignleton(object):
    def __init__(self):
        self.logger = logging.getLogger()  # 自定义日志器
        # 设置输出日志到文件
        fh = logging.FileHandler(GetTestLogPath())
        # 设置输出日志到控制台
        ch = logging.StreamHandler()
        formatter = logging.Formatter('%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s')
        # 设置输出日志文件的格式
        fh.setFormatter(formatter)
        ch.setFormatter(formatter)
        # 将fh加入到日志内
        self.logger.addHandler(fh)
        # 将控制台日志对象加入到日志内
        self.logger.addHandler(ch)
        self.logger.setLevel(logging.DEBUG)

    def get_logger(self):
        return self.logger


logsignleton = LogSignleton()
logger = logsignleton.get_logger()

if __name__ == '__main__':
    # print(GetTestLogPath())
    logger.debug('debugwarning&&&&&&&&&&&&&&&&&&&&&&warning&&&&&&&&&&&&&&&&&&&&&&')
    logger.info('infowarning&&&&&&&&&&&&&&&&&&&&&&warning&&&&&&&&&&&&&&&&&&&&&&')
    logger.warning('warningwarning&&&&&&&&&&&&&&&&&&&&&&')
    logger.error('errorwarning&&&&&&&&&&&&&&&&&&&&&&warning&&&&&&&&&&&&&&&&&&&&&&')
    logger.critical('criticalwarning&&&&&&&&&&&&&&&&&&&&&&warning&&&&&&&&&&&&&&&&&&&&&&')
